package org.tinos.emotion.engine;
import java.io.IOException;
import java.util.Map;

import org.tinos.emotion.estimation.EmotionSample;
import org.tinos.engine.analysis.Analyzer;
import org.tinos.sensing.ortho.fhmm.SensingMap;
import org.tinos.sensing.ortho.fhmm.imp.SensingMapImp;
public class LenovoInit{
	public SensingMap getSensingMap() {
		return sensingMap;
	}

	public void setSensingMap(SensingMap sensingMap) {
		this.sensingMap = sensingMap;
	}

	public EnvironmentInit getEnvironmentInit() {
		return environmentInit;
	}

	public void setEnvironmentInit(EnvironmentInit environmentInit) {
		this.environmentInit = environmentInit;
	}

	private SensingMap sensingMap;
	private EnvironmentInit environmentInit;

	@SuppressWarnings("unused")
	public static void main(String[] argv) throws IOException {
		String text = "关于成瘾性的戒除方式，上瘾在医学上普遍定义为一种具有精神依赖并长期导致健康危害性的行为。\r\n" + 
				"关于成瘾的溯源有很多因素，其中最重要的是依赖。因为长期的依赖导致自身某种缺陷逐渐丧失而\r\n" + 
				"对成瘾物体产生不可替代性。通过这个推论，可以初步来定义戒断瘾欲，最有效的方式是替代和引导。\r\n" + 
				"替代物，本身也是有强烈制瘾性，和危害性，但是危害要小于原物。通过替代和强制减少剂量和精洗\r\n" + 
				"脑教育，通过一个时间周期达到戒除。中间有戒断反应，需要观察。引导，是在对没有成瘾并属于易\r\n" + 
				"感染群体进行教育和传授方式，提高群体的免疫力和排斥力。上瘾不是欲望。欲望是生物的应激性进\r\n" + 
				"化的产物，是与生俱来的。上瘾是一种外力干涉造成的依赖。上瘾的级别有很多种。医学有相关严谨\r\n" + 
				"的打分段，其中毒瘾大于烟瘾大于网瘾。最有效的戒除手段就是环境和生活方式的选择。很多时候\r\n" + 
				"环境不是很美好，生活方式充满了隐患，人的精神会产生误差，这个时候受体为不稳定态，极易接触\r\n" + 
				"成瘾源。当环境无法改变的时候，我们需要改变自己，选择一个愉悦的生活方式，进行自我心里疏导，\r\n" + 
				"很容易排斥上瘾源。其中这些词汇是非常有价值的精神药物：自信，豁达，友善，分享 等等。\r\n" + 
				"一些成瘾的受体，普遍有某种倾向: 奢靡，闭塞，强迫，空虚 等等。这里不是贬义，只是因为长期的环境\r\n" + 
				"因素不是那么美好导致了一些思维误差。所以引导是非常重要的。改变人的不是能力，而是选择和环境。\r\n" + 
				"如果环境不是很完美，那么选择一个健康的生活方式，是非常重要的。";

		LenovoInit lenovoInit = new LenovoInit();
		lenovoInit.init(text);
		Map<String, EmotionSample> environmentSampleMap = lenovoInit.getEnvironmentInit().getEmotionSampleMap();
		Map<String, Object> lenovo = lenovoInit.getSensingMap().getLenovoMap();
	}

	public void init(String text) throws IOException {
		environmentInit = new EnvironmentInit();
		environmentInit.init(text);
		sensingMap = new SensingMapImp();
		sensingMap.initLenovoMap(environmentInit.getAnalyzer());	
	}
	
	public void initExcludeAnalyzer(String text, Analyzer analyzer) throws IOException {
		environmentInit = new EnvironmentInit();
		environmentInit.initExcludeAnalyzer(text, analyzer);
		sensingMap = new SensingMapImp();
		sensingMap.initLenovoMap(environmentInit.getAnalyzer());	
	}
}